home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / mac / DirectX SDK / DXSDK / include / Msvidctl.h < prev    next >
C/C++ Source or Header  |  2001-10-08  |  65KB  |  2,118 lines

  1.  
  2. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  3.  
  4. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  5.  
  6.  
  7.  /* File created by MIDL compiler version 6.00.0347 */
  8. /* Compiler settings for msvidctl.idl:
  9.     Oicf, W1, Zp8, env=Win32 (32b run)
  10.     protocol : dce , ms_ext, c_ext, robust
  11.     error checks: allocation ref bounds_check enum stub_data 
  12.     VC __declspec() decoration level: 
  13.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  14.          DECLSPEC_UUID(), MIDL_INTERFACE()
  15. */
  16. //@@MIDL_FILE_HEADING(  )
  17.  
  18.  
  19. #ifndef __LPCGUID_DEFINED__
  20. #define __LPCGUID_DEFINED__
  21. typedef const GUID *LPCGUID;
  22. #endif // __LPCGUID_DEFINED__
  23.  
  24. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  25. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  26. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  27. #endif
  28.  
  29. #include "rpc.h"
  30. #include "rpcndr.h"
  31.  
  32. #ifndef __RPCNDR_H_VERSION__
  33. #error this stub requires an updated version of <rpcndr.h>
  34. #endif // __RPCNDR_H_VERSION__
  35.  
  36. #ifndef COM_NO_WINDOWS_H
  37. #include "windows.h"
  38. #include "ole2.h"
  39. #endif /*COM_NO_WINDOWS_H*/
  40.  
  41. #ifndef __msvidctl_h__
  42. #define __msvidctl_h__
  43.  
  44. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  45. #pragma once
  46. #endif
  47.  
  48. /* Forward Declarations */ 
  49.  
  50. #ifndef __IMSVidCtl_FWD_DEFINED__
  51. #define __IMSVidCtl_FWD_DEFINED__
  52. typedef interface IMSVidCtl IMSVidCtl;
  53. #endif     /* __IMSVidCtl_FWD_DEFINED__ */
  54.  
  55.  
  56. #ifndef __IMSEventBinder_FWD_DEFINED__
  57. #define __IMSEventBinder_FWD_DEFINED__
  58. typedef interface IMSEventBinder IMSEventBinder;
  59. #endif     /* __IMSEventBinder_FWD_DEFINED__ */
  60.  
  61.  
  62. #ifndef ___IMSVidCtlEvents_FWD_DEFINED__
  63. #define ___IMSVidCtlEvents_FWD_DEFINED__
  64. typedef interface _IMSVidCtlEvents _IMSVidCtlEvents;
  65. #endif     /* ___IMSVidCtlEvents_FWD_DEFINED__ */
  66.  
  67.  
  68. #ifndef __MSVidAnalogTunerDevice_FWD_DEFINED__
  69. #define __MSVidAnalogTunerDevice_FWD_DEFINED__
  70.  
  71. #ifdef __cplusplus
  72. typedef class MSVidAnalogTunerDevice MSVidAnalogTunerDevice;
  73. #else
  74. typedef struct MSVidAnalogTunerDevice MSVidAnalogTunerDevice;
  75. #endif /* __cplusplus */
  76.  
  77. #endif     /* __MSVidAnalogTunerDevice_FWD_DEFINED__ */
  78.  
  79.  
  80. #ifndef __MSVidBDATunerDevice_FWD_DEFINED__
  81. #define __MSVidBDATunerDevice_FWD_DEFINED__
  82.  
  83. #ifdef __cplusplus
  84. typedef class MSVidBDATunerDevice MSVidBDATunerDevice;
  85. #else
  86. typedef struct MSVidBDATunerDevice MSVidBDATunerDevice;
  87. #endif /* __cplusplus */
  88.  
  89. #endif     /* __MSVidBDATunerDevice_FWD_DEFINED__ */
  90.  
  91.  
  92. #ifndef __MSVidFilePlaybackDevice_FWD_DEFINED__
  93. #define __MSVidFilePlaybackDevice_FWD_DEFINED__
  94.  
  95. #ifdef __cplusplus
  96. typedef class MSVidFilePlaybackDevice MSVidFilePlaybackDevice;
  97. #else
  98. typedef struct MSVidFilePlaybackDevice MSVidFilePlaybackDevice;
  99. #endif /* __cplusplus */
  100.  
  101. #endif     /* __MSVidFilePlaybackDevice_FWD_DEFINED__ */
  102.  
  103.  
  104. #ifndef __MSVidWebDVD_FWD_DEFINED__
  105. #define __MSVidWebDVD_FWD_DEFINED__
  106.  
  107. #ifdef __cplusplus
  108. typedef class MSVidWebDVD MSVidWebDVD;
  109. #else
  110. typedef struct MSVidWebDVD MSVidWebDVD;
  111. #endif /* __cplusplus */
  112.  
  113. #endif     /* __MSVidWebDVD_FWD_DEFINED__ */
  114.  
  115.  
  116. #ifndef __MSVidWebDVDAdm_FWD_DEFINED__
  117. #define __MSVidWebDVDAdm_FWD_DEFINED__
  118.  
  119. #ifdef __cplusplus
  120. typedef class MSVidWebDVDAdm MSVidWebDVDAdm;
  121. #else
  122. typedef struct MSVidWebDVDAdm MSVidWebDVDAdm;
  123. #endif /* __cplusplus */
  124.  
  125. #endif     /* __MSVidWebDVDAdm_FWD_DEFINED__ */
  126.  
  127.  
  128. #ifndef __MSVidVideoRenderer_FWD_DEFINED__
  129. #define __MSVidVideoRenderer_FWD_DEFINED__
  130.  
  131. #ifdef __cplusplus
  132. typedef class MSVidVideoRenderer MSVidVideoRenderer;
  133. #else
  134. typedef struct MSVidVideoRenderer MSVidVideoRenderer;
  135. #endif /* __cplusplus */
  136.  
  137. #endif     /* __MSVidVideoRenderer_FWD_DEFINED__ */
  138.  
  139.  
  140. #ifndef __MSVidAudioRenderer_FWD_DEFINED__
  141. #define __MSVidAudioRenderer_FWD_DEFINED__
  142.  
  143. #ifdef __cplusplus
  144. typedef class MSVidAudioRenderer MSVidAudioRenderer;
  145. #else
  146. typedef struct MSVidAudioRenderer MSVidAudioRenderer;
  147. #endif /* __cplusplus */
  148.  
  149. #endif     /* __MSVidAudioRenderer_FWD_DEFINED__ */
  150.  
  151.  
  152. #ifndef __MSVidDataServices_FWD_DEFINED__
  153. #define __MSVidDataServices_FWD_DEFINED__
  154.  
  155. #ifdef __cplusplus
  156. typedef class MSVidDataServices MSVidDataServices;
  157. #else
  158. typedef struct MSVidDataServices MSVidDataServices;
  159. #endif /* __cplusplus */
  160.  
  161. #endif     /* __MSVidDataServices_FWD_DEFINED__ */
  162.  
  163.  
  164. #ifndef __MSVidClosedCaptioning_FWD_DEFINED__
  165. #define __MSVidClosedCaptioning_FWD_DEFINED__
  166.  
  167. #ifdef __cplusplus
  168. typedef class MSVidClosedCaptioning MSVidClosedCaptioning;
  169. #else
  170. typedef struct MSVidClosedCaptioning MSVidClosedCaptioning;
  171. #endif /* __cplusplus */
  172.  
  173. #endif     /* __MSVidClosedCaptioning_FWD_DEFINED__ */
  174.  
  175.  
  176. #ifndef __MSVidTVEGSeg_FWD_DEFINED__
  177. #define __MSVidTVEGSeg_FWD_DEFINED__
  178.  
  179. #ifdef __cplusplus
  180. typedef class MSVidTVEGSeg MSVidTVEGSeg;
  181. #else
  182. typedef struct MSVidTVEGSeg MSVidTVEGSeg;
  183. #endif /* __cplusplus */
  184.  
  185. #endif     /* __MSVidTVEGSeg_FWD_DEFINED__ */
  186.  
  187.  
  188. #ifndef __MSVidCAGSeg_FWD_DEFINED__
  189. #define __MSVidCAGSeg_FWD_DEFINED__
  190.  
  191. #ifdef __cplusplus
  192. typedef class MSVidCAGSeg MSVidCAGSeg;
  193. #else
  194. typedef struct MSVidCAGSeg MSVidCAGSeg;
  195. #endif /* __cplusplus */
  196.  
  197. #endif     /* __MSVidCAGSeg_FWD_DEFINED__ */
  198.  
  199.  
  200. #ifndef __MSVidCtl_FWD_DEFINED__
  201. #define __MSVidCtl_FWD_DEFINED__
  202.  
  203. #ifdef __cplusplus
  204. typedef class MSVidCtl MSVidCtl;
  205. #else
  206. typedef struct MSVidCtl MSVidCtl;
  207. #endif /* __cplusplus */
  208.  
  209. #endif     /* __MSVidCtl_FWD_DEFINED__ */
  210.  
  211.  
  212. #ifndef __MSVidInputDevices_FWD_DEFINED__
  213. #define __MSVidInputDevices_FWD_DEFINED__
  214.  
  215. #ifdef __cplusplus
  216. typedef class MSVidInputDevices MSVidInputDevices;
  217. #else
  218. typedef struct MSVidInputDevices MSVidInputDevices;
  219. #endif /* __cplusplus */
  220.  
  221. #endif     /* __MSVidInputDevices_FWD_DEFINED__ */
  222.  
  223.  
  224. #ifndef __MSVidOutputDevices_FWD_DEFINED__
  225. #define __MSVidOutputDevices_FWD_DEFINED__
  226.  
  227. #ifdef __cplusplus
  228. typedef class MSVidOutputDevices MSVidOutputDevices;
  229. #else
  230. typedef struct MSVidOutputDevices MSVidOutputDevices;
  231. #endif /* __cplusplus */
  232.  
  233. #endif     /* __MSVidOutputDevices_FWD_DEFINED__ */
  234.  
  235.  
  236. #ifndef __MSVidVideoRendererDevices_FWD_DEFINED__
  237. #define __MSVidVideoRendererDevices_FWD_DEFINED__
  238.  
  239. #ifdef __cplusplus
  240. typedef class MSVidVideoRendererDevices MSVidVideoRendererDevices;
  241. #else
  242. typedef struct MSVidVideoRendererDevices MSVidVideoRendererDevices;
  243. #endif /* __cplusplus */
  244.  
  245. #endif     /* __MSVidVideoRendererDevices_FWD_DEFINED__ */
  246.  
  247.  
  248. #ifndef __MSVidAudioRendererDevices_FWD_DEFINED__
  249. #define __MSVidAudioRendererDevices_FWD_DEFINED__
  250.  
  251. #ifdef __cplusplus
  252. typedef class MSVidAudioRendererDevices MSVidAudioRendererDevices;
  253. #else
  254. typedef struct MSVidAudioRendererDevices MSVidAudioRendererDevices;
  255. #endif /* __cplusplus */
  256.  
  257. #endif     /* __MSVidAudioRendererDevices_FWD_DEFINED__ */
  258.  
  259.  
  260. #ifndef __MSVidFeatures_FWD_DEFINED__
  261. #define __MSVidFeatures_FWD_DEFINED__
  262.  
  263. #ifdef __cplusplus
  264. typedef class MSVidFeatures MSVidFeatures;
  265. #else
  266. typedef struct MSVidFeatures MSVidFeatures;
  267. #endif /* __cplusplus */
  268.  
  269. #endif     /* __MSVidFeatures_FWD_DEFINED__ */
  270.  
  271.  
  272. #ifndef __MSVidGenericComposite_FWD_DEFINED__
  273. #define __MSVidGenericComposite_FWD_DEFINED__
  274.  
  275. #ifdef __cplusplus
  276. typedef class MSVidGenericComposite MSVidGenericComposite;
  277. #else
  278. typedef struct MSVidGenericComposite MSVidGenericComposite;
  279. #endif /* __cplusplus */
  280.  
  281. #endif     /* __MSVidGenericComposite_FWD_DEFINED__ */
  282.  
  283.  
  284. #ifndef __MSVidAnalogCaptureToOverlayMixer_FWD_DEFINED__
  285. #define __MSVidAnalogCaptureToOverlayMixer_FWD_DEFINED__
  286.  
  287. #ifdef __cplusplus
  288. typedef class MSVidAnalogCaptureToOverlayMixer MSVidAnalogCaptureToOverlayMixer;
  289. #else
  290. typedef struct MSVidAnalogCaptureToOverlayMixer MSVidAnalogCaptureToOverlayMixer;
  291. #endif /* __cplusplus */
  292.  
  293. #endif     /* __MSVidAnalogCaptureToOverlayMixer_FWD_DEFINED__ */
  294.  
  295.  
  296. #ifndef __MSVidAnalogCaptureToDataServices_FWD_DEFINED__
  297. #define __MSVidAnalogCaptureToDataServices_FWD_DEFINED__
  298.  
  299. #ifdef __cplusplus
  300. typedef class MSVidAnalogCaptureToDataServices MSVidAnalogCaptureToDataServices;
  301. #else
  302. typedef struct MSVidAnalogCaptureToDataServices MSVidAnalogCaptureToDataServices;
  303. #endif /* __cplusplus */
  304.  
  305. #endif     /* __MSVidAnalogCaptureToDataServices_FWD_DEFINED__ */
  306.  
  307.  
  308. #ifndef __MSVidWebDVDToVideoRenderer_FWD_DEFINED__
  309. #define __MSVidWebDVDToVideoRenderer_FWD_DEFINED__
  310.  
  311. #ifdef __cplusplus
  312. typedef class MSVidWebDVDToVideoRenderer MSVidWebDVDToVideoRenderer;
  313. #else
  314. typedef struct MSVidWebDVDToVideoRenderer MSVidWebDVDToVideoRenderer;
  315. #endif /* __cplusplus */
  316.  
  317. #endif     /* __MSVidWebDVDToVideoRenderer_FWD_DEFINED__ */
  318.  
  319.  
  320. #ifndef __MSVidMPEG2DecoderToClosedCaptioning_FWD_DEFINED__
  321. #define __MSVidMPEG2DecoderToClosedCaptioning_FWD_DEFINED__
  322.  
  323. #ifdef __cplusplus
  324. typedef class MSVidMPEG2DecoderToClosedCaptioning MSVidMPEG2DecoderToClosedCaptioning;
  325. #else
  326. typedef struct MSVidMPEG2DecoderToClosedCaptioning MSVidMPEG2DecoderToClosedCaptioning;
  327. #endif /* __cplusplus */
  328.  
  329. #endif     /* __MSVidMPEG2DecoderToClosedCaptioning_FWD_DEFINED__ */
  330.  
  331.  
  332. #ifndef __MSVidRenderFactory_FWD_DEFINED__
  333. #define __MSVidRenderFactory_FWD_DEFINED__
  334.  
  335. #ifdef __cplusplus
  336. typedef class MSVidRenderFactory MSVidRenderFactory;
  337. #else
  338. typedef struct MSVidRenderFactory MSVidRenderFactory;
  339. #endif /* __cplusplus */
  340.  
  341. #endif     /* __MSVidRenderFactory_FWD_DEFINED__ */
  342.  
  343.  
  344. #ifndef __MSEventBinder_FWD_DEFINED__
  345. #define __MSEventBinder_FWD_DEFINED__
  346.  
  347. #ifdef __cplusplus
  348. typedef class MSEventBinder MSEventBinder;
  349. #else
  350. typedef struct MSEventBinder MSEventBinder;
  351. #endif /* __cplusplus */
  352.  
  353. #endif     /* __MSEventBinder_FWD_DEFINED__ */
  354.  
  355.  
  356. #ifndef __MSVidRect_FWD_DEFINED__
  357. #define __MSVidRect_FWD_DEFINED__
  358.  
  359. #ifdef __cplusplus
  360. typedef class MSVidRect MSVidRect;
  361. #else
  362. typedef struct MSVidRect MSVidRect;
  363. #endif /* __cplusplus */
  364.  
  365. #endif     /* __MSVidRect_FWD_DEFINED__ */
  366.  
  367.  
  368. #ifndef __MSVidDevice_FWD_DEFINED__
  369. #define __MSVidDevice_FWD_DEFINED__
  370.  
  371. #ifdef __cplusplus
  372. typedef class MSVidDevice MSVidDevice;
  373. #else
  374. typedef struct MSVidDevice MSVidDevice;
  375. #endif /* __cplusplus */
  376.  
  377. #endif     /* __MSVidDevice_FWD_DEFINED__ */
  378.  
  379.  
  380. #ifndef __MSVidInputDevice_FWD_DEFINED__
  381. #define __MSVidInputDevice_FWD_DEFINED__
  382.  
  383. #ifdef __cplusplus
  384. typedef class MSVidInputDevice MSVidInputDevice;
  385. #else
  386. typedef struct MSVidInputDevice MSVidInputDevice;
  387. #endif /* __cplusplus */
  388.  
  389. #endif     /* __MSVidInputDevice_FWD_DEFINED__ */
  390.  
  391.  
  392. #ifndef __MSVidVideoInputDevice_FWD_DEFINED__
  393. #define __MSVidVideoInputDevice_FWD_DEFINED__
  394.  
  395. #ifdef __cplusplus
  396. typedef class MSVidVideoInputDevice MSVidVideoInputDevice;
  397. #else
  398. typedef struct MSVidVideoInputDevice MSVidVideoInputDevice;
  399. #endif /* __cplusplus */
  400.  
  401. #endif     /* __MSVidVideoInputDevice_FWD_DEFINED__ */
  402.  
  403.  
  404. #ifndef __MSVidVideoPlaybackDevice_FWD_DEFINED__
  405. #define __MSVidVideoPlaybackDevice_FWD_DEFINED__
  406.  
  407. #ifdef __cplusplus
  408. typedef class MSVidVideoPlaybackDevice MSVidVideoPlaybackDevice;
  409. #else
  410. typedef struct MSVidVideoPlaybackDevice MSVidVideoPlaybackDevice;
  411. #endif /* __cplusplus */
  412.  
  413. #endif     /* __MSVidVideoPlaybackDevice_FWD_DEFINED__ */
  414.  
  415.  
  416. #ifndef __MSVidFeature_FWD_DEFINED__
  417. #define __MSVidFeature_FWD_DEFINED__
  418.  
  419. #ifdef __cplusplus
  420. typedef class MSVidFeature MSVidFeature;
  421. #else
  422. typedef struct MSVidFeature MSVidFeature;
  423. #endif /* __cplusplus */
  424.  
  425. #endif     /* __MSVidFeature_FWD_DEFINED__ */
  426.  
  427.  
  428. #ifndef __MSVidOutput_FWD_DEFINED__
  429. #define __MSVidOutput_FWD_DEFINED__
  430.  
  431. #ifdef __cplusplus
  432. typedef class MSVidOutput MSVidOutput;
  433. #else
  434. typedef struct MSVidOutput MSVidOutput;
  435. #endif /* __cplusplus */
  436.  
  437. #endif     /* __MSVidOutput_FWD_DEFINED__ */
  438.  
  439.  
  440. /* header files for imported files */
  441. #include "mshtml.h"
  442. #include "mstve.h"
  443. #include "mstvca.h"
  444. #include "segment.h"
  445.  
  446. #ifdef __cplusplus
  447. extern "C"{
  448. #endif 
  449.  
  450. void * __RPC_USER MIDL_user_allocate(size_t);
  451. void __RPC_USER MIDL_user_free( void * ); 
  452.  
  453. /* interface __MIDL_itf_msvidctl_0000 */
  454. /* [local] */ 
  455.  
  456. //+-------------------------------------------------------------------------
  457. //
  458. //  Microsoft Windows
  459. //  Copyright (C) Microsoft Corporation, 1999-2001.
  460. //
  461. //--------------------------------------------------------------------------
  462. #pragma once
  463. typedef /* [public] */ 
  464. enum __MIDL___MIDL_itf_msvidctl_0000_0001
  465.     {    dispidInputs    = 0,
  466.     dispidOutputs    = dispidInputs + 1,
  467.     dispid_Inputs    = dispidOutputs + 1,
  468.     dispid_Outputs    = dispid_Inputs + 1,
  469.     dispidVideoRenderers    = dispid_Outputs + 1,
  470.     dispidAudioRenderers    = dispidVideoRenderers + 1,
  471.     dispidFeatures    = dispidAudioRenderers + 1,
  472.     dispidInput    = dispidFeatures + 1,
  473.     dispidOutput    = dispidInput + 1,
  474.     dispidVideoRenderer    = dispidOutput + 1,
  475.     dispidAudioRenderer    = dispidVideoRenderer + 1,
  476.     dispidSelectedFeatures    = dispidAudioRenderer + 1,
  477.     dispidView    = dispidSelectedFeatures + 1,
  478.     dispidBuild    = dispidView + 1,
  479.     dispidPause    = dispidBuild + 1,
  480.     dispidRun    = dispidPause + 1,
  481.     dispidStop    = dispidRun + 1,
  482.     dispidDecompose    = dispidStop + 1,
  483.     dispidDisplaySize    = dispidDecompose + 1,
  484.     dispidMaintainAspectRatio    = dispidDisplaySize + 1,
  485.     dispidColorKey    = dispidMaintainAspectRatio + 1,
  486.     dispidStateChange    = dispidColorKey + 1,
  487.     dispidgetState    = dispidStateChange + 1,
  488.     dispidunbind    = dispidgetState + 1,
  489.     dispidbind    = dispidunbind + 1,
  490.     dispidDisableVideo    = dispidbind + 1,
  491.     dispidDisableAudio    = dispidDisableVideo + 1,
  492.     dispidViewNext    = dispidDisableAudio + 1
  493.     }     MSViddispidList;
  494.  
  495. typedef /* [public][public][public] */ 
  496. enum __MIDL___MIDL_itf_msvidctl_0000_0002
  497.     {    dslDefaultSize    = 0,
  498.     dslSourceSize    = 0,
  499.     dslHalfSourceSize    = dslSourceSize + 1,
  500.     dslDoubleSourceSize    = dslHalfSourceSize + 1,
  501.     dslFullScreen    = dslDoubleSourceSize + 1,
  502.     dslHalfScreen    = dslFullScreen + 1,
  503.     dslQuarterScreen    = dslHalfScreen + 1,
  504.     dslSixteenthScreen    = dslQuarterScreen + 1
  505.     }     DisplaySizeList;
  506.  
  507. typedef /* [public][public][public][public] */ 
  508. enum __MIDL___MIDL_itf_msvidctl_0000_0003
  509.     {    STATE_UNBUILT    = -1,
  510.     STATE_STOP    = STATE_UNBUILT + 1,
  511.     STATE_PAUSE    = STATE_STOP + 1,
  512.     STATE_PLAY    = STATE_PAUSE + 1
  513.     }     MSVidCtlStateList;
  514.  
  515.  
  516.  
  517. extern RPC_IF_HANDLE __MIDL_itf_msvidctl_0000_v0_0_c_ifspec;
  518. extern RPC_IF_HANDLE __MIDL_itf_msvidctl_0000_v0_0_s_ifspec;
  519.  
  520. #ifndef __IMSVidCtl_INTERFACE_DEFINED__
  521. #define __IMSVidCtl_INTERFACE_DEFINED__
  522.  
  523. /* interface IMSVidCtl */
  524. /* [unique][helpstring][nonextensible][hidden][dual][uuid][object] */ 
  525.  
  526.  
  527. EXTERN_C const IID IID_IMSVidCtl;
  528.  
  529. #if defined(__cplusplus) && !defined(CINTERFACE)
  530.     
  531.     MIDL_INTERFACE("B0EDF162-910A-11D2-B632-00C04F79498E")
  532.     IMSVidCtl : public IDispatch
  533.     {
  534.     public:
  535.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_AutoSize( 
  536.             /* [retval][out] */ VARIANT_BOOL *pbool) = 0;
  537.         
  538.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_AutoSize( 
  539.             /* [in] */ VARIANT_BOOL vbool) = 0;
  540.         
  541.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_BackColor( 
  542.             /* [retval][out] */ OLE_COLOR *backcolor) = 0;
  543.         
  544.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_BackColor( 
  545.             /* [in] */ OLE_COLOR backcolor) = 0;
  546.         
  547.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
  548.             /* [retval][out] */ VARIANT_BOOL *pbool) = 0;
  549.         
  550.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
  551.             /* [in] */ VARIANT_BOOL vbool) = 0;
  552.         
  553.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_TabStop( 
  554.             /* [retval][out] */ VARIANT_BOOL *pbool) = 0;
  555.         
  556.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_TabStop( 
  557.             /* [in] */ VARIANT_BOOL vbool) = 0;
  558.         
  559.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Window( 
  560.             /* [retval][out] */ HWND *phwnd) = 0;
  561.         
  562.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
  563.         
  564.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_DisplaySize( 
  565.             /* [retval][out] */ DisplaySizeList *CurrentValue) = 0;
  566.         
  567.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_DisplaySize( 
  568.             /* [in] */ DisplaySizeList NewValue) = 0;
  569.         
  570.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_MaintainAspectRatio( 
  571.             /* [retval][out] */ VARIANT_BOOL *CurrentValue) = 0;
  572.         
  573.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_MaintainAspectRatio( 
  574.             /* [in] */ VARIANT_BOOL NewValue) = 0;
  575.         
  576.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ColorKey( 
  577.             /* [retval][out] */ OLE_COLOR *CurrentValue) = 0;
  578.         
  579.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ColorKey( 
  580.             /* [in] */ OLE_COLOR NewValue) = 0;
  581.         
  582.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InputsAvailable( 
  583.             /* [in] */ BSTR CategoryGuid,
  584.             /* [retval][out] */ IMSVidInputDevices **pVal) = 0;
  585.         
  586.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_OutputsAvailable( 
  587.             /* [in] */ BSTR CategoryGuid,
  588.             /* [retval][out] */ IMSVidOutputDevices **pVal) = 0;
  589.         
  590.         virtual /* [helpstring][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__InputsAvailable( 
  591.             /* [in] */ LPCGUID CategoryGuid,
  592.             /* [retval][out] */ IMSVidInputDevices **pVal) = 0;
  593.         
  594.         virtual /* [helpstring][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__OutputsAvailable( 
  595.             /* [in] */ LPCGUID CategoryGuid,
  596.             /* [retval][out] */ IMSVidOutputDevices **pVal) = 0;
  597.         
  598.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_VideoRenderersAvailable( 
  599.             /* [retval][out] */ IMSVidVideoRendererDevices **pVal) = 0;
  600.         
  601.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AudioRenderersAvailable( 
  602.             /* [retval][out] */ IMSVidAudioRendererDevices **pVal) = 0;
  603.         
  604.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FeaturesAvailable( 
  605.             /* [retval][out] */ IMSVidFeatures **pVal) = 0;
  606.         
  607.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InputActive( 
  608.             /* [retval][out] */ IMSVidInputDevice **pVal) = 0;
  609.         
  610.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_InputActive( 
  611.             /* [in] */ IMSVidInputDevice *pVal) = 0;
  612.         
  613.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_OutputsActive( 
  614.             /* [retval][out] */ IMSVidOutputDevices **pVal) = 0;
  615.         
  616.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_OutputsActive( 
  617.             /* [in] */ IMSVidOutputDevices *pVal) = 0;
  618.         
  619.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_VideoRendererActive( 
  620.             /* [retval][out] */ IMSVidVideoRenderer **pVal) = 0;
  621.         
  622.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_VideoRendererActive( 
  623.             /* [in] */ IMSVidVideoRenderer *pVal) = 0;
  624.         
  625.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AudioRendererActive( 
  626.             /* [retval][out] */ IMSVidAudioRenderer **pVal) = 0;
  627.         
  628.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AudioRendererActive( 
  629.             /* [in] */ IMSVidAudioRenderer *pVal) = 0;
  630.         
  631.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FeaturesActive( 
  632.             /* [retval][out] */ IMSVidFeatures **pVal) = 0;
  633.         
  634.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_FeaturesActive( 
  635.             /* [in] */ IMSVidFeatures *pVal) = 0;
  636.         
  637.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  638.             /* [retval][out] */ MSVidCtlStateList *lState) = 0;
  639.         
  640.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE View( 
  641.             /* [in] */ VARIANT *v) = 0;
  642.         
  643.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Build( void) = 0;
  644.         
  645.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  646.         
  647.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Run( void) = 0;
  648.         
  649.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  650.         
  651.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Decompose( void) = 0;
  652.         
  653.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DisableVideo( void) = 0;
  654.         
  655.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DisableAudio( void) = 0;
  656.         
  657.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ViewNext( 
  658.             /* [in] */ VARIANT *v) = 0;
  659.         
  660.     };
  661.     
  662. #else     /* C style interface */
  663.  
  664.     typedef struct IMSVidCtlVtbl
  665.     {
  666.         BEGIN_INTERFACE
  667.         
  668.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  669.             IMSVidCtl * This,
  670.             /* [in] */ REFIID riid,
  671.             /* [iid_is][out] */ void **ppvObject);
  672.         
  673.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  674.             IMSVidCtl * This);
  675.         
  676.         ULONG ( STDMETHODCALLTYPE *Release )( 
  677.             IMSVidCtl * This);
  678.         
  679.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  680.             IMSVidCtl * This,
  681.             /* [out] */ UINT *pctinfo);
  682.         
  683.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  684.             IMSVidCtl * This,
  685.             /* [in] */ UINT iTInfo,
  686.             /* [in] */ LCID lcid,
  687.             /* [out] */ ITypeInfo **ppTInfo);
  688.         
  689.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  690.             IMSVidCtl * This,
  691.             /* [in] */ REFIID riid,
  692.             /* [size_is][in] */ LPOLESTR *rgszNames,
  693.             /* [in] */ UINT cNames,
  694.             /* [in] */ LCID lcid,
  695.             /* [size_is][out] */ DISPID *rgDispId);
  696.         
  697.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  698.             IMSVidCtl * This,
  699.             /* [in] */ DISPID dispIdMember,
  700.             /* [in] */ REFIID riid,
  701.             /* [in] */ LCID lcid,
  702.             /* [in] */ WORD wFlags,
  703.             /* [out][in] */ DISPPARAMS *pDispParams,
  704.             /* [out] */ VARIANT *pVarResult,
  705.             /* [out] */ EXCEPINFO *pExcepInfo,
  706.             /* [out] */ UINT *puArgErr);
  707.         
  708.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSize )( 
  709.             IMSVidCtl * This,
  710.             /* [retval][out] */ VARIANT_BOOL *pbool);
  711.         
  712.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoSize )( 
  713.             IMSVidCtl * This,
  714.             /* [in] */ VARIANT_BOOL vbool);
  715.         
  716.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackColor )( 
  717.             IMSVidCtl * This,
  718.             /* [retval][out] */ OLE_COLOR *backcolor);
  719.         
  720.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackColor )( 
  721.             IMSVidCtl * This,
  722.             /* [in] */ OLE_COLOR backcolor);
  723.         
  724.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
  725.             IMSVidCtl * This,
  726.             /* [retval][out] */ VARIANT_BOOL *pbool);
  727.         
  728.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
  729.             IMSVidCtl * This,
  730.             /* [in] */ VARIANT_BOOL vbool);
  731.         
  732.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TabStop )( 
  733.             IMSVidCtl * This,
  734.             /* [retval][out] */ VARIANT_BOOL *pbool);
  735.         
  736.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TabStop )( 
  737.             IMSVidCtl * This,
  738.             /* [in] */ VARIANT_BOOL vbool);
  739.         
  740.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Window )( 
  741.             IMSVidCtl * This,
  742.             /* [retval][out] */ HWND *phwnd);
  743.         
  744.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Refresh )( 
  745.             IMSVidCtl * This);
  746.         
  747.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplaySize )( 
  748.             IMSVidCtl * This,
  749.             /* [retval][out] */ DisplaySizeList *CurrentValue);
  750.         
  751.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplaySize )( 
  752.             IMSVidCtl * This,
  753.             /* [in] */ DisplaySizeList NewValue);
  754.         
  755.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaintainAspectRatio )( 
  756.             IMSVidCtl * This,
  757.             /* [retval][out] */ VARIANT_BOOL *CurrentValue);
  758.         
  759.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaintainAspectRatio )( 
  760.             IMSVidCtl * This,
  761.             /* [in] */ VARIANT_BOOL NewValue);
  762.         
  763.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorKey )( 
  764.             IMSVidCtl * This,
  765.             /* [retval][out] */ OLE_COLOR *CurrentValue);
  766.         
  767.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ColorKey )( 
  768.             IMSVidCtl * This,
  769.             /* [in] */ OLE_COLOR NewValue);
  770.         
  771.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InputsAvailable )( 
  772.             IMSVidCtl * This,
  773.             /* [in] */ BSTR CategoryGuid,
  774.             /* [retval][out] */ IMSVidInputDevices **pVal);
  775.         
  776.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutputsAvailable )( 
  777.             IMSVidCtl * This,
  778.             /* [in] */ BSTR CategoryGuid,
  779.             /* [retval][out] */ IMSVidOutputDevices **pVal);
  780.         
  781.         /* [helpstring][restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__InputsAvailable )( 
  782.             IMSVidCtl * This,
  783.             /* [in] */ LPCGUID CategoryGuid,
  784.             /* [retval][out] */ IMSVidInputDevices **pVal);
  785.         
  786.         /* [helpstring][restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__OutputsAvailable )( 
  787.             IMSVidCtl * This,
  788.             /* [in] */ LPCGUID CategoryGuid,
  789.             /* [retval][out] */ IMSVidOutputDevices **pVal);
  790.         
  791.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoRenderersAvailable )( 
  792.             IMSVidCtl * This,
  793.             /* [retval][out] */ IMSVidVideoRendererDevices **pVal);
  794.         
  795.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioRenderersAvailable )( 
  796.             IMSVidCtl * This,
  797.             /* [retval][out] */ IMSVidAudioRendererDevices **pVal);
  798.         
  799.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FeaturesAvailable )( 
  800.             IMSVidCtl * This,
  801.             /* [retval][out] */ IMSVidFeatures **pVal);
  802.         
  803.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InputActive )( 
  804.             IMSVidCtl * This,
  805.             /* [retval][out] */ IMSVidInputDevice **pVal);
  806.         
  807.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InputActive )( 
  808.             IMSVidCtl * This,
  809.             /* [in] */ IMSVidInputDevice *pVal);
  810.         
  811.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutputsActive )( 
  812.             IMSVidCtl * This,
  813.             /* [retval][out] */ IMSVidOutputDevices **pVal);
  814.         
  815.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OutputsActive )( 
  816.             IMSVidCtl * This,
  817.             /* [in] */ IMSVidOutputDevices *pVal);
  818.         
  819.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoRendererActive )( 
  820.             IMSVidCtl * This,
  821.             /* [retval][out] */ IMSVidVideoRenderer **pVal);
  822.         
  823.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VideoRendererActive )( 
  824.             IMSVidCtl * This,
  825.             /* [in] */ IMSVidVideoRenderer *pVal);
  826.         
  827.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioRendererActive )( 
  828.             IMSVidCtl * This,
  829.             /* [retval][out] */ IMSVidAudioRenderer **pVal);
  830.         
  831.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AudioRendererActive )( 
  832.             IMSVidCtl * This,
  833.             /* [in] */ IMSVidAudioRenderer *pVal);
  834.         
  835.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FeaturesActive )( 
  836.             IMSVidCtl * This,
  837.             /* [retval][out] */ IMSVidFeatures **pVal);
  838.         
  839.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FeaturesActive )( 
  840.             IMSVidCtl * This,
  841.             /* [in] */ IMSVidFeatures *pVal);
  842.         
  843.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  844.             IMSVidCtl * This,
  845.             /* [retval][out] */ MSVidCtlStateList *lState);
  846.         
  847.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *View )( 
  848.             IMSVidCtl * This,
  849.             /* [in] */ VARIANT *v);
  850.         
  851.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Build )( 
  852.             IMSVidCtl * This);
  853.         
  854.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Pause )( 
  855.             IMSVidCtl * This);
  856.         
  857.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Run )( 
  858.             IMSVidCtl * This);
  859.         
  860.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Stop )( 
  861.             IMSVidCtl * This);
  862.         
  863.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Decompose )( 
  864.             IMSVidCtl * This);
  865.         
  866.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DisableVideo )( 
  867.             IMSVidCtl * This);
  868.         
  869.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DisableAudio )( 
  870.             IMSVidCtl * This);
  871.         
  872.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ViewNext )( 
  873.             IMSVidCtl * This,
  874.             /* [in] */ VARIANT *v);
  875.         
  876.         END_INTERFACE
  877.     } IMSVidCtlVtbl;
  878.  
  879.     interface IMSVidCtl
  880.     {
  881.         CONST_VTBL struct IMSVidCtlVtbl *lpVtbl;
  882.     };
  883.  
  884.     
  885.  
  886. #ifdef COBJMACROS
  887.  
  888.  
  889. #define IMSVidCtl_QueryInterface(This,riid,ppvObject)    \
  890.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  891.  
  892. #define IMSVidCtl_AddRef(This)    \
  893.     (This)->lpVtbl -> AddRef(This)
  894.  
  895. #define IMSVidCtl_Release(This)    \
  896.     (This)->lpVtbl -> Release(This)
  897.  
  898.  
  899. #define IMSVidCtl_GetTypeInfoCount(This,pctinfo)    \
  900.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  901.  
  902. #define IMSVidCtl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  903.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  904.  
  905. #define IMSVidCtl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  906.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  907.  
  908. #define IMSVidCtl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  909.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  910.  
  911.  
  912. #define IMSVidCtl_get_AutoSize(This,pbool)    \
  913.     (This)->lpVtbl -> get_AutoSize(This,pbool)
  914.  
  915. #define IMSVidCtl_put_AutoSize(This,vbool)    \
  916.     (This)->lpVtbl -> put_AutoSize(This,vbool)
  917.  
  918. #define IMSVidCtl_get_BackColor(This,backcolor)    \
  919.     (This)->lpVtbl -> get_BackColor(This,backcolor)
  920.  
  921. #define IMSVidCtl_put_BackColor(This,backcolor)    \
  922.     (This)->lpVtbl -> put_BackColor(This,backcolor)
  923.  
  924. #define IMSVidCtl_get_Enabled(This,pbool)    \
  925.     (This)->lpVtbl -> get_Enabled(This,pbool)
  926.  
  927. #define IMSVidCtl_put_Enabled(This,vbool)    \
  928.     (This)->lpVtbl -> put_Enabled(This,vbool)
  929.  
  930. #define IMSVidCtl_get_TabStop(This,pbool)    \
  931.     (This)->lpVtbl -> get_TabStop(This,pbool)
  932.  
  933. #define IMSVidCtl_put_TabStop(This,vbool)    \
  934.     (This)->lpVtbl -> put_TabStop(This,vbool)
  935.  
  936. #define IMSVidCtl_get_Window(This,phwnd)    \
  937.     (This)->lpVtbl -> get_Window(This,phwnd)
  938.  
  939. #define IMSVidCtl_Refresh(This)    \
  940.     (This)->lpVtbl -> Refresh(This)
  941.  
  942. #define IMSVidCtl_get_DisplaySize(This,CurrentValue)    \
  943.     (This)->lpVtbl -> get_DisplaySize(This,CurrentValue)
  944.  
  945. #define IMSVidCtl_put_DisplaySize(This,NewValue)    \
  946.     (This)->lpVtbl -> put_DisplaySize(This,NewValue)
  947.  
  948. #define IMSVidCtl_get_MaintainAspectRatio(This,CurrentValue)    \
  949.     (This)->lpVtbl -> get_MaintainAspectRatio(This,CurrentValue)
  950.  
  951. #define IMSVidCtl_put_MaintainAspectRatio(This,NewValue)    \
  952.     (This)->lpVtbl -> put_MaintainAspectRatio(This,NewValue)
  953.  
  954. #define IMSVidCtl_get_ColorKey(This,CurrentValue)    \
  955.     (This)->lpVtbl -> get_ColorKey(This,CurrentValue)
  956.  
  957. #define IMSVidCtl_put_ColorKey(This,NewValue)    \
  958.     (This)->lpVtbl -> put_ColorKey(This,NewValue)
  959.  
  960. #define IMSVidCtl_get_InputsAvailable(This,CategoryGuid,pVal)    \
  961.     (This)->lpVtbl -> get_InputsAvailable(This,CategoryGuid,pVal)
  962.  
  963. #define IMSVidCtl_get_OutputsAvailable(This,CategoryGuid,pVal)    \
  964.     (This)->lpVtbl -> get_OutputsAvailable(This,CategoryGuid,pVal)
  965.  
  966. #define IMSVidCtl_get__InputsAvailable(This,CategoryGuid,pVal)    \
  967.     (This)->lpVtbl -> get__InputsAvailable(This,CategoryGuid,pVal)
  968.  
  969. #define IMSVidCtl_get__OutputsAvailable(This,CategoryGuid,pVal)    \
  970.     (This)->lpVtbl -> get__OutputsAvailable(This,CategoryGuid,pVal)
  971.  
  972. #define IMSVidCtl_get_VideoRenderersAvailable(This,pVal)    \
  973.     (This)->lpVtbl -> get_VideoRenderersAvailable(This,pVal)
  974.  
  975. #define IMSVidCtl_get_AudioRenderersAvailable(This,pVal)    \
  976.     (This)->lpVtbl -> get_AudioRenderersAvailable(This,pVal)
  977.  
  978. #define IMSVidCtl_get_FeaturesAvailable(This,pVal)    \
  979.     (This)->lpVtbl -> get_FeaturesAvailable(This,pVal)
  980.  
  981. #define IMSVidCtl_get_InputActive(This,pVal)    \
  982.     (This)->lpVtbl -> get_InputActive(This,pVal)
  983.  
  984. #define IMSVidCtl_put_InputActive(This,pVal)    \
  985.     (This)->lpVtbl -> put_InputActive(This,pVal)
  986.  
  987. #define IMSVidCtl_get_OutputsActive(This,pVal)    \
  988.     (This)->lpVtbl -> get_OutputsActive(This,pVal)
  989.  
  990. #define IMSVidCtl_put_OutputsActive(This,pVal)    \
  991.     (This)->lpVtbl -> put_OutputsActive(This,pVal)
  992.  
  993. #define IMSVidCtl_get_VideoRendererActive(This,pVal)    \
  994.     (This)->lpVtbl -> get_VideoRendererActive(This,pVal)
  995.  
  996. #define IMSVidCtl_put_VideoRendererActive(This,pVal)    \
  997.     (This)->lpVtbl -> put_VideoRendererActive(This,pVal)
  998.  
  999. #define IMSVidCtl_get_AudioRendererActive(This,pVal)    \
  1000.     (This)->lpVtbl -> get_AudioRendererActive(This,pVal)
  1001.  
  1002. #define IMSVidCtl_put_AudioRendererActive(This,pVal)    \
  1003.     (This)->lpVtbl -> put_AudioRendererActive(This,pVal)
  1004.  
  1005. #define IMSVidCtl_get_FeaturesActive(This,pVal)    \
  1006.     (This)->lpVtbl -> get_FeaturesActive(This,pVal)
  1007.  
  1008. #define IMSVidCtl_put_FeaturesActive(This,pVal)    \
  1009.     (This)->lpVtbl -> put_FeaturesActive(This,pVal)
  1010.  
  1011. #define IMSVidCtl_get_State(This,lState)    \
  1012.     (This)->lpVtbl -> get_State(This,lState)
  1013.  
  1014. #define IMSVidCtl_View(This,v)    \
  1015.     (This)->lpVtbl -> View(This,v)
  1016.  
  1017. #define IMSVidCtl_Build(This)    \
  1018.     (This)->lpVtbl -> Build(This)
  1019.  
  1020. #define IMSVidCtl_Pause(This)    \
  1021.     (This)->lpVtbl -> Pause(This)
  1022.  
  1023. #define IMSVidCtl_Run(This)    \
  1024.     (This)->lpVtbl -> Run(This)
  1025.  
  1026. #define IMSVidCtl_Stop(This)    \
  1027.     (This)->lpVtbl -> Stop(This)
  1028.  
  1029. #define IMSVidCtl_Decompose(This)    \
  1030.     (This)->lpVtbl -> Decompose(This)
  1031.  
  1032. #define IMSVidCtl_DisableVideo(This)    \
  1033.     (This)->lpVtbl -> DisableVideo(This)
  1034.  
  1035. #define IMSVidCtl_DisableAudio(This)    \
  1036.     (This)->lpVtbl -> DisableAudio(This)
  1037.  
  1038. #define IMSVidCtl_ViewNext(This,v)    \
  1039.     (This)->lpVtbl -> ViewNext(This,v)
  1040.  
  1041. #endif /* COBJMACROS */
  1042.  
  1043.  
  1044. #endif     /* C style interface */
  1045.  
  1046.  
  1047.  
  1048. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_AutoSize_Proxy( 
  1049.     IMSVidCtl * This,
  1050.     /* [retval][out] */ VARIANT_BOOL *pbool);
  1051.  
  1052.  
  1053. void __RPC_STUB IMSVidCtl_get_AutoSize_Stub(
  1054.     IRpcStubBuffer *This,
  1055.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1056.     PRPC_MESSAGE _pRpcMessage,
  1057.     DWORD *_pdwStubPhase);
  1058.  
  1059.  
  1060. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_AutoSize_Proxy( 
  1061.     IMSVidCtl * This,
  1062.     /* [in] */ VARIANT_BOOL vbool);
  1063.  
  1064.  
  1065. void __RPC_STUB IMSVidCtl_put_AutoSize_Stub(
  1066.     IRpcStubBuffer *This,
  1067.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1068.     PRPC_MESSAGE _pRpcMessage,
  1069.     DWORD *_pdwStubPhase);
  1070.  
  1071.  
  1072. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_BackColor_Proxy( 
  1073.     IMSVidCtl * This,
  1074.     /* [retval][out] */ OLE_COLOR *backcolor);
  1075.  
  1076.  
  1077. void __RPC_STUB IMSVidCtl_get_BackColor_Stub(
  1078.     IRpcStubBuffer *This,
  1079.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1080.     PRPC_MESSAGE _pRpcMessage,
  1081.     DWORD *_pdwStubPhase);
  1082.  
  1083.  
  1084. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_BackColor_Proxy( 
  1085.     IMSVidCtl * This,
  1086.     /* [in] */ OLE_COLOR backcolor);
  1087.  
  1088.  
  1089. void __RPC_STUB IMSVidCtl_put_BackColor_Stub(
  1090.     IRpcStubBuffer *This,
  1091.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1092.     PRPC_MESSAGE _pRpcMessage,
  1093.     DWORD *_pdwStubPhase);
  1094.  
  1095.  
  1096. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_Enabled_Proxy( 
  1097.     IMSVidCtl * This,
  1098.     /* [retval][out] */ VARIANT_BOOL *pbool);
  1099.  
  1100.  
  1101. void __RPC_STUB IMSVidCtl_get_Enabled_Stub(
  1102.     IRpcStubBuffer *This,
  1103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1104.     PRPC_MESSAGE _pRpcMessage,
  1105.     DWORD *_pdwStubPhase);
  1106.  
  1107.  
  1108. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_Enabled_Proxy( 
  1109.     IMSVidCtl * This,
  1110.     /* [in] */ VARIANT_BOOL vbool);
  1111.  
  1112.  
  1113. void __RPC_STUB IMSVidCtl_put_Enabled_Stub(
  1114.     IRpcStubBuffer *This,
  1115.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1116.     PRPC_MESSAGE _pRpcMessage,
  1117.     DWORD *_pdwStubPhase);
  1118.  
  1119.  
  1120. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_TabStop_Proxy( 
  1121.     IMSVidCtl * This,
  1122.     /* [retval][out] */ VARIANT_BOOL *pbool);
  1123.  
  1124.  
  1125. void __RPC_STUB IMSVidCtl_get_TabStop_Stub(
  1126.     IRpcStubBuffer *This,
  1127.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1128.     PRPC_MESSAGE _pRpcMessage,
  1129.     DWORD *_pdwStubPhase);
  1130.  
  1131.  
  1132. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_TabStop_Proxy( 
  1133.     IMSVidCtl * This,
  1134.     /* [in] */ VARIANT_BOOL vbool);
  1135.  
  1136.  
  1137. void __RPC_STUB IMSVidCtl_put_TabStop_Stub(
  1138.     IRpcStubBuffer *This,
  1139.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1140.     PRPC_MESSAGE _pRpcMessage,
  1141.     DWORD *_pdwStubPhase);
  1142.  
  1143.  
  1144. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_Window_Proxy( 
  1145.     IMSVidCtl * This,
  1146.     /* [retval][out] */ HWND *phwnd);
  1147.  
  1148.  
  1149. void __RPC_STUB IMSVidCtl_get_Window_Stub(
  1150.     IRpcStubBuffer *This,
  1151.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1152.     PRPC_MESSAGE _pRpcMessage,
  1153.     DWORD *_pdwStubPhase);
  1154.  
  1155.  
  1156. /* [id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_Refresh_Proxy( 
  1157.     IMSVidCtl * This);
  1158.  
  1159.  
  1160. void __RPC_STUB IMSVidCtl_Refresh_Stub(
  1161.     IRpcStubBuffer *This,
  1162.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1163.     PRPC_MESSAGE _pRpcMessage,
  1164.     DWORD *_pdwStubPhase);
  1165.  
  1166.  
  1167. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_DisplaySize_Proxy( 
  1168.     IMSVidCtl * This,
  1169.     /* [retval][out] */ DisplaySizeList *CurrentValue);
  1170.  
  1171.  
  1172. void __RPC_STUB IMSVidCtl_get_DisplaySize_Stub(
  1173.     IRpcStubBuffer *This,
  1174.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1175.     PRPC_MESSAGE _pRpcMessage,
  1176.     DWORD *_pdwStubPhase);
  1177.  
  1178.  
  1179. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_DisplaySize_Proxy( 
  1180.     IMSVidCtl * This,
  1181.     /* [in] */ DisplaySizeList NewValue);
  1182.  
  1183.  
  1184. void __RPC_STUB IMSVidCtl_put_DisplaySize_Stub(
  1185.     IRpcStubBuffer *This,
  1186.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1187.     PRPC_MESSAGE _pRpcMessage,
  1188.     DWORD *_pdwStubPhase);
  1189.  
  1190.  
  1191. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_MaintainAspectRatio_Proxy( 
  1192.     IMSVidCtl * This,
  1193.     /* [retval][out] */ VARIANT_BOOL *CurrentValue);
  1194.  
  1195.  
  1196. void __RPC_STUB IMSVidCtl_get_MaintainAspectRatio_Stub(
  1197.     IRpcStubBuffer *This,
  1198.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1199.     PRPC_MESSAGE _pRpcMessage,
  1200.     DWORD *_pdwStubPhase);
  1201.  
  1202.  
  1203. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_MaintainAspectRatio_Proxy( 
  1204.     IMSVidCtl * This,
  1205.     /* [in] */ VARIANT_BOOL NewValue);
  1206.  
  1207.  
  1208. void __RPC_STUB IMSVidCtl_put_MaintainAspectRatio_Stub(
  1209.     IRpcStubBuffer *This,
  1210.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1211.     PRPC_MESSAGE _pRpcMessage,
  1212.     DWORD *_pdwStubPhase);
  1213.  
  1214.  
  1215. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_ColorKey_Proxy( 
  1216.     IMSVidCtl * This,
  1217.     /* [retval][out] */ OLE_COLOR *CurrentValue);
  1218.  
  1219.  
  1220. void __RPC_STUB IMSVidCtl_get_ColorKey_Stub(
  1221.     IRpcStubBuffer *This,
  1222.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1223.     PRPC_MESSAGE _pRpcMessage,
  1224.     DWORD *_pdwStubPhase);
  1225.  
  1226.  
  1227. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_ColorKey_Proxy( 
  1228.     IMSVidCtl * This,
  1229.     /* [in] */ OLE_COLOR NewValue);
  1230.  
  1231.  
  1232. void __RPC_STUB IMSVidCtl_put_ColorKey_Stub(
  1233.     IRpcStubBuffer *This,
  1234.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1235.     PRPC_MESSAGE _pRpcMessage,
  1236.     DWORD *_pdwStubPhase);
  1237.  
  1238.  
  1239. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_InputsAvailable_Proxy( 
  1240.     IMSVidCtl * This,
  1241.     /* [in] */ BSTR CategoryGuid,
  1242.     /* [retval][out] */ IMSVidInputDevices **pVal);
  1243.  
  1244.  
  1245. void __RPC_STUB IMSVidCtl_get_InputsAvailable_Stub(
  1246.     IRpcStubBuffer *This,
  1247.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1248.     PRPC_MESSAGE _pRpcMessage,
  1249.     DWORD *_pdwStubPhase);
  1250.  
  1251.  
  1252. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_OutputsAvailable_Proxy( 
  1253.     IMSVidCtl * This,
  1254.     /* [in] */ BSTR CategoryGuid,
  1255.     /* [retval][out] */ IMSVidOutputDevices **pVal);
  1256.  
  1257.  
  1258. void __RPC_STUB IMSVidCtl_get_OutputsAvailable_Stub(
  1259.     IRpcStubBuffer *This,
  1260.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1261.     PRPC_MESSAGE _pRpcMessage,
  1262.     DWORD *_pdwStubPhase);
  1263.  
  1264.  
  1265. /* [helpstring][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get__InputsAvailable_Proxy( 
  1266.     IMSVidCtl * This,
  1267.     /* [in] */ LPCGUID CategoryGuid,
  1268.     /* [retval][out] */ IMSVidInputDevices **pVal);
  1269.  
  1270.  
  1271. void __RPC_STUB IMSVidCtl_get__InputsAvailable_Stub(
  1272.     IRpcStubBuffer *This,
  1273.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1274.     PRPC_MESSAGE _pRpcMessage,
  1275.     DWORD *_pdwStubPhase);
  1276.  
  1277.  
  1278. /* [helpstring][restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get__OutputsAvailable_Proxy( 
  1279.     IMSVidCtl * This,
  1280.     /* [in] */ LPCGUID CategoryGuid,
  1281.     /* [retval][out] */ IMSVidOutputDevices **pVal);
  1282.  
  1283.  
  1284. void __RPC_STUB IMSVidCtl_get__OutputsAvailable_Stub(
  1285.     IRpcStubBuffer *This,
  1286.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1287.     PRPC_MESSAGE _pRpcMessage,
  1288.     DWORD *_pdwStubPhase);
  1289.  
  1290.  
  1291. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_VideoRenderersAvailable_Proxy( 
  1292.     IMSVidCtl * This,
  1293.     /* [retval][out] */ IMSVidVideoRendererDevices **pVal);
  1294.  
  1295.  
  1296. void __RPC_STUB IMSVidCtl_get_VideoRenderersAvailable_Stub(
  1297.     IRpcStubBuffer *This,
  1298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1299.     PRPC_MESSAGE _pRpcMessage,
  1300.     DWORD *_pdwStubPhase);
  1301.  
  1302.  
  1303. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_AudioRenderersAvailable_Proxy( 
  1304.     IMSVidCtl * This,
  1305.     /* [retval][out] */ IMSVidAudioRendererDevices **pVal);
  1306.  
  1307.  
  1308. void __RPC_STUB IMSVidCtl_get_AudioRenderersAvailable_Stub(
  1309.     IRpcStubBuffer *This,
  1310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1311.     PRPC_MESSAGE _pRpcMessage,
  1312.     DWORD *_pdwStubPhase);
  1313.  
  1314.  
  1315. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_FeaturesAvailable_Proxy( 
  1316.     IMSVidCtl * This,
  1317.     /* [retval][out] */ IMSVidFeatures **pVal);
  1318.  
  1319.  
  1320. void __RPC_STUB IMSVidCtl_get_FeaturesAvailable_Stub(
  1321.     IRpcStubBuffer *This,
  1322.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1323.     PRPC_MESSAGE _pRpcMessage,
  1324.     DWORD *_pdwStubPhase);
  1325.  
  1326.  
  1327. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_InputActive_Proxy( 
  1328.     IMSVidCtl * This,
  1329.     /* [retval][out] */ IMSVidInputDevice **pVal);
  1330.  
  1331.  
  1332. void __RPC_STUB IMSVidCtl_get_InputActive_Stub(
  1333.     IRpcStubBuffer *This,
  1334.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1335.     PRPC_MESSAGE _pRpcMessage,
  1336.     DWORD *_pdwStubPhase);
  1337.  
  1338.  
  1339. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_InputActive_Proxy( 
  1340.     IMSVidCtl * This,
  1341.     /* [in] */ IMSVidInputDevice *pVal);
  1342.  
  1343.  
  1344. void __RPC_STUB IMSVidCtl_put_InputActive_Stub(
  1345.     IRpcStubBuffer *This,
  1346.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1347.     PRPC_MESSAGE _pRpcMessage,
  1348.     DWORD *_pdwStubPhase);
  1349.  
  1350.  
  1351. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_OutputsActive_Proxy( 
  1352.     IMSVidCtl * This,
  1353.     /* [retval][out] */ IMSVidOutputDevices **pVal);
  1354.  
  1355.  
  1356. void __RPC_STUB IMSVidCtl_get_OutputsActive_Stub(
  1357.     IRpcStubBuffer *This,
  1358.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1359.     PRPC_MESSAGE _pRpcMessage,
  1360.     DWORD *_pdwStubPhase);
  1361.  
  1362.  
  1363. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_OutputsActive_Proxy( 
  1364.     IMSVidCtl * This,
  1365.     /* [in] */ IMSVidOutputDevices *pVal);
  1366.  
  1367.  
  1368. void __RPC_STUB IMSVidCtl_put_OutputsActive_Stub(
  1369.     IRpcStubBuffer *This,
  1370.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1371.     PRPC_MESSAGE _pRpcMessage,
  1372.     DWORD *_pdwStubPhase);
  1373.  
  1374.  
  1375. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_VideoRendererActive_Proxy( 
  1376.     IMSVidCtl * This,
  1377.     /* [retval][out] */ IMSVidVideoRenderer **pVal);
  1378.  
  1379.  
  1380. void __RPC_STUB IMSVidCtl_get_VideoRendererActive_Stub(
  1381.     IRpcStubBuffer *This,
  1382.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1383.     PRPC_MESSAGE _pRpcMessage,
  1384.     DWORD *_pdwStubPhase);
  1385.  
  1386.  
  1387. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_VideoRendererActive_Proxy( 
  1388.     IMSVidCtl * This,
  1389.     /* [in] */ IMSVidVideoRenderer *pVal);
  1390.  
  1391.  
  1392. void __RPC_STUB IMSVidCtl_put_VideoRendererActive_Stub(
  1393.     IRpcStubBuffer *This,
  1394.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1395.     PRPC_MESSAGE _pRpcMessage,
  1396.     DWORD *_pdwStubPhase);
  1397.  
  1398.  
  1399. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_AudioRendererActive_Proxy( 
  1400.     IMSVidCtl * This,
  1401.     /* [retval][out] */ IMSVidAudioRenderer **pVal);
  1402.  
  1403.  
  1404. void __RPC_STUB IMSVidCtl_get_AudioRendererActive_Stub(
  1405.     IRpcStubBuffer *This,
  1406.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1407.     PRPC_MESSAGE _pRpcMessage,
  1408.     DWORD *_pdwStubPhase);
  1409.  
  1410.  
  1411. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_AudioRendererActive_Proxy( 
  1412.     IMSVidCtl * This,
  1413.     /* [in] */ IMSVidAudioRenderer *pVal);
  1414.  
  1415.  
  1416. void __RPC_STUB IMSVidCtl_put_AudioRendererActive_Stub(
  1417.     IRpcStubBuffer *This,
  1418.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1419.     PRPC_MESSAGE _pRpcMessage,
  1420.     DWORD *_pdwStubPhase);
  1421.  
  1422.  
  1423. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_FeaturesActive_Proxy( 
  1424.     IMSVidCtl * This,
  1425.     /* [retval][out] */ IMSVidFeatures **pVal);
  1426.  
  1427.  
  1428. void __RPC_STUB IMSVidCtl_get_FeaturesActive_Stub(
  1429.     IRpcStubBuffer *This,
  1430.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1431.     PRPC_MESSAGE _pRpcMessage,
  1432.     DWORD *_pdwStubPhase);
  1433.  
  1434.  
  1435. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_put_FeaturesActive_Proxy( 
  1436.     IMSVidCtl * This,
  1437.     /* [in] */ IMSVidFeatures *pVal);
  1438.  
  1439.  
  1440. void __RPC_STUB IMSVidCtl_put_FeaturesActive_Stub(
  1441.     IRpcStubBuffer *This,
  1442.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1443.     PRPC_MESSAGE _pRpcMessage,
  1444.     DWORD *_pdwStubPhase);
  1445.  
  1446.  
  1447. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_get_State_Proxy( 
  1448.     IMSVidCtl * This,
  1449.     /* [retval][out] */ MSVidCtlStateList *lState);
  1450.  
  1451.  
  1452. void __RPC_STUB IMSVidCtl_get_State_Stub(
  1453.     IRpcStubBuffer *This,
  1454.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1455.     PRPC_MESSAGE _pRpcMessage,
  1456.     DWORD *_pdwStubPhase);
  1457.  
  1458.  
  1459. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_View_Proxy( 
  1460.     IMSVidCtl * This,
  1461.     /* [in] */ VARIANT *v);
  1462.  
  1463.  
  1464. void __RPC_STUB IMSVidCtl_View_Stub(
  1465.     IRpcStubBuffer *This,
  1466.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1467.     PRPC_MESSAGE _pRpcMessage,
  1468.     DWORD *_pdwStubPhase);
  1469.  
  1470.  
  1471. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_Build_Proxy( 
  1472.     IMSVidCtl * This);
  1473.  
  1474.  
  1475. void __RPC_STUB IMSVidCtl_Build_Stub(
  1476.     IRpcStubBuffer *This,
  1477.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1478.     PRPC_MESSAGE _pRpcMessage,
  1479.     DWORD *_pdwStubPhase);
  1480.  
  1481.  
  1482. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_Pause_Proxy( 
  1483.     IMSVidCtl * This);
  1484.  
  1485.  
  1486. void __RPC_STUB IMSVidCtl_Pause_Stub(
  1487.     IRpcStubBuffer *This,
  1488.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1489.     PRPC_MESSAGE _pRpcMessage,
  1490.     DWORD *_pdwStubPhase);
  1491.  
  1492.  
  1493. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_Run_Proxy( 
  1494.     IMSVidCtl * This);
  1495.  
  1496.  
  1497. void __RPC_STUB IMSVidCtl_Run_Stub(
  1498.     IRpcStubBuffer *This,
  1499.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1500.     PRPC_MESSAGE _pRpcMessage,
  1501.     DWORD *_pdwStubPhase);
  1502.  
  1503.  
  1504. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_Stop_Proxy( 
  1505.     IMSVidCtl * This);
  1506.  
  1507.  
  1508. void __RPC_STUB IMSVidCtl_Stop_Stub(
  1509.     IRpcStubBuffer *This,
  1510.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1511.     PRPC_MESSAGE _pRpcMessage,
  1512.     DWORD *_pdwStubPhase);
  1513.  
  1514.  
  1515. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_Decompose_Proxy( 
  1516.     IMSVidCtl * This);
  1517.  
  1518.  
  1519. void __RPC_STUB IMSVidCtl_Decompose_Stub(
  1520.     IRpcStubBuffer *This,
  1521.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1522.     PRPC_MESSAGE _pRpcMessage,
  1523.     DWORD *_pdwStubPhase);
  1524.  
  1525.  
  1526. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_DisableVideo_Proxy( 
  1527.     IMSVidCtl * This);
  1528.  
  1529.  
  1530. void __RPC_STUB IMSVidCtl_DisableVideo_Stub(
  1531.     IRpcStubBuffer *This,
  1532.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1533.     PRPC_MESSAGE _pRpcMessage,
  1534.     DWORD *_pdwStubPhase);
  1535.  
  1536.  
  1537. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_DisableAudio_Proxy( 
  1538.     IMSVidCtl * This);
  1539.  
  1540.  
  1541. void __RPC_STUB IMSVidCtl_DisableAudio_Stub(
  1542.     IRpcStubBuffer *This,
  1543.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1544.     PRPC_MESSAGE _pRpcMessage,
  1545.     DWORD *_pdwStubPhase);
  1546.  
  1547.  
  1548. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSVidCtl_ViewNext_Proxy( 
  1549.     IMSVidCtl * This,
  1550.     /* [in] */ VARIANT *v);
  1551.  
  1552.  
  1553. void __RPC_STUB IMSVidCtl_ViewNext_Stub(
  1554.     IRpcStubBuffer *This,
  1555.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1556.     PRPC_MESSAGE _pRpcMessage,
  1557.     DWORD *_pdwStubPhase);
  1558.  
  1559.  
  1560.  
  1561. #endif     /* __IMSVidCtl_INTERFACE_DEFINED__ */
  1562.  
  1563.  
  1564. #ifndef __IMSEventBinder_INTERFACE_DEFINED__
  1565. #define __IMSEventBinder_INTERFACE_DEFINED__
  1566.  
  1567. /* interface IMSEventBinder */
  1568. /* [helpstring][uuid][unique][nonextensible][hidden][oleautomation][dual][object] */ 
  1569.  
  1570.  
  1571. EXTERN_C const IID IID_IMSEventBinder;
  1572.  
  1573. #if defined(__cplusplus) && !defined(CINTERFACE)
  1574.     
  1575.     MIDL_INTERFACE("C3A9F406-2222-436D-86D5-BA3229279EFB")
  1576.     IMSEventBinder : public IDispatch
  1577.     {
  1578.     public:
  1579.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Bind( 
  1580.             /* [in] */ LPDISPATCH pEventObject,
  1581.             /* [in] */ BSTR EventName,
  1582.             /* [in] */ BSTR EventHandler,
  1583.             /* [retval][out] */ LONG *CancelID) = 0;
  1584.         
  1585.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Unbind( 
  1586.             /* [in] */ DWORD CancelCookie) = 0;
  1587.         
  1588.     };
  1589.     
  1590. #else     /* C style interface */
  1591.  
  1592.     typedef struct IMSEventBinderVtbl
  1593.     {
  1594.         BEGIN_INTERFACE
  1595.         
  1596.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1597.             IMSEventBinder * This,
  1598.             /* [in] */ REFIID riid,
  1599.             /* [iid_is][out] */ void **ppvObject);
  1600.         
  1601.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1602.             IMSEventBinder * This);
  1603.         
  1604.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1605.             IMSEventBinder * This);
  1606.         
  1607.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1608.             IMSEventBinder * This,
  1609.             /* [out] */ UINT *pctinfo);
  1610.         
  1611.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1612.             IMSEventBinder * This,
  1613.             /* [in] */ UINT iTInfo,
  1614.             /* [in] */ LCID lcid,
  1615.             /* [out] */ ITypeInfo **ppTInfo);
  1616.         
  1617.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1618.             IMSEventBinder * This,
  1619.             /* [in] */ REFIID riid,
  1620.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1621.             /* [in] */ UINT cNames,
  1622.             /* [in] */ LCID lcid,
  1623.             /* [size_is][out] */ DISPID *rgDispId);
  1624.         
  1625.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1626.             IMSEventBinder * This,
  1627.             /* [in] */ DISPID dispIdMember,
  1628.             /* [in] */ REFIID riid,
  1629.             /* [in] */ LCID lcid,
  1630.             /* [in] */ WORD wFlags,
  1631.             /* [out][in] */ DISPPARAMS *pDispParams,
  1632.             /* [out] */ VARIANT *pVarResult,
  1633.             /* [out] */ EXCEPINFO *pExcepInfo,
  1634.             /* [out] */ UINT *puArgErr);
  1635.         
  1636.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Bind )( 
  1637.             IMSEventBinder * This,
  1638.             /* [in] */ LPDISPATCH pEventObject,
  1639.             /* [in] */ BSTR EventName,
  1640.             /* [in] */ BSTR EventHandler,
  1641.             /* [retval][out] */ LONG *CancelID);
  1642.         
  1643.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Unbind )( 
  1644.             IMSEventBinder * This,
  1645.             /* [in] */ DWORD CancelCookie);
  1646.         
  1647.         END_INTERFACE
  1648.     } IMSEventBinderVtbl;
  1649.  
  1650.     interface IMSEventBinder
  1651.     {
  1652.         CONST_VTBL struct IMSEventBinderVtbl *lpVtbl;
  1653.     };
  1654.  
  1655.     
  1656.  
  1657. #ifdef COBJMACROS
  1658.  
  1659.  
  1660. #define IMSEventBinder_QueryInterface(This,riid,ppvObject)    \
  1661.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1662.  
  1663. #define IMSEventBinder_AddRef(This)    \
  1664.     (This)->lpVtbl -> AddRef(This)
  1665.  
  1666. #define IMSEventBinder_Release(This)    \
  1667.     (This)->lpVtbl -> Release(This)
  1668.  
  1669.  
  1670. #define IMSEventBinder_GetTypeInfoCount(This,pctinfo)    \
  1671.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1672.  
  1673. #define IMSEventBinder_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1674.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1675.  
  1676. #define IMSEventBinder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1677.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1678.  
  1679. #define IMSEventBinder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1680.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1681.  
  1682.  
  1683. #define IMSEventBinder_Bind(This,pEventObject,EventName,EventHandler,CancelID)    \
  1684.     (This)->lpVtbl -> Bind(This,pEventObject,EventName,EventHandler,CancelID)
  1685.  
  1686. #define IMSEventBinder_Unbind(This,CancelCookie)    \
  1687.     (This)->lpVtbl -> Unbind(This,CancelCookie)
  1688.  
  1689. #endif /* COBJMACROS */
  1690.  
  1691.  
  1692. #endif     /* C style interface */
  1693.  
  1694.  
  1695.  
  1696. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSEventBinder_Bind_Proxy( 
  1697.     IMSEventBinder * This,
  1698.     /* [in] */ LPDISPATCH pEventObject,
  1699.     /* [in] */ BSTR EventName,
  1700.     /* [in] */ BSTR EventHandler,
  1701.     /* [retval][out] */ LONG *CancelID);
  1702.  
  1703.  
  1704. void __RPC_STUB IMSEventBinder_Bind_Stub(
  1705.     IRpcStubBuffer *This,
  1706.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1707.     PRPC_MESSAGE _pRpcMessage,
  1708.     DWORD *_pdwStubPhase);
  1709.  
  1710.  
  1711. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMSEventBinder_Unbind_Proxy( 
  1712.     IMSEventBinder * This,
  1713.     /* [in] */ DWORD CancelCookie);
  1714.  
  1715.  
  1716. void __RPC_STUB IMSEventBinder_Unbind_Stub(
  1717.     IRpcStubBuffer *This,
  1718.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1719.     PRPC_MESSAGE _pRpcMessage,
  1720.     DWORD *_pdwStubPhase);
  1721.  
  1722.  
  1723.  
  1724. #endif     /* __IMSEventBinder_INTERFACE_DEFINED__ */
  1725.  
  1726.  
  1727.  
  1728. #ifndef __MSVidCtlLib_LIBRARY_DEFINED__
  1729. #define __MSVidCtlLib_LIBRARY_DEFINED__
  1730.  
  1731. /* library MSVidCtlLib */
  1732. /* [helpstring][version][uuid] */ 
  1733.  
  1734.  
  1735. EXTERN_C const IID LIBID_MSVidCtlLib;
  1736.  
  1737. #ifndef ___IMSVidCtlEvents_DISPINTERFACE_DEFINED__
  1738. #define ___IMSVidCtlEvents_DISPINTERFACE_DEFINED__
  1739.  
  1740. /* dispinterface _IMSVidCtlEvents */
  1741. /* [helpstring][uuid] */ 
  1742.  
  1743.  
  1744. EXTERN_C const IID DIID__IMSVidCtlEvents;
  1745.  
  1746. #if defined(__cplusplus) && !defined(CINTERFACE)
  1747.  
  1748.     MIDL_INTERFACE("B0EDF164-910A-11D2-B632-00C04F79498E")
  1749.     _IMSVidCtlEvents : public IDispatch
  1750.     {
  1751.     };
  1752.     
  1753. #else     /* C style interface */
  1754.  
  1755.     typedef struct _IMSVidCtlEventsVtbl
  1756.     {
  1757.         BEGIN_INTERFACE
  1758.         
  1759.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1760.             _IMSVidCtlEvents * This,
  1761.             /* [in] */ REFIID riid,
  1762.             /* [iid_is][out] */ void **ppvObject);
  1763.         
  1764.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1765.             _IMSVidCtlEvents * This);
  1766.         
  1767.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1768.             _IMSVidCtlEvents * This);
  1769.         
  1770.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1771.             _IMSVidCtlEvents * This,
  1772.             /* [out] */ UINT *pctinfo);
  1773.         
  1774.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1775.             _IMSVidCtlEvents * This,
  1776.             /* [in] */ UINT iTInfo,
  1777.             /* [in] */ LCID lcid,
  1778.             /* [out] */ ITypeInfo **ppTInfo);
  1779.         
  1780.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1781.             _IMSVidCtlEvents * This,
  1782.             /* [in] */ REFIID riid,
  1783.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1784.             /* [in] */ UINT cNames,
  1785.             /* [in] */ LCID lcid,
  1786.             /* [size_is][out] */ DISPID *rgDispId);
  1787.         
  1788.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1789.             _IMSVidCtlEvents * This,
  1790.             /* [in] */ DISPID dispIdMember,
  1791.             /* [in] */ REFIID riid,
  1792.             /* [in] */ LCID lcid,
  1793.             /* [in] */ WORD wFlags,
  1794.             /* [out][in] */ DISPPARAMS *pDispParams,
  1795.             /* [out] */ VARIANT *pVarResult,
  1796.             /* [out] */ EXCEPINFO *pExcepInfo,
  1797.             /* [out] */ UINT *puArgErr);
  1798.         
  1799.         END_INTERFACE
  1800.     } _IMSVidCtlEventsVtbl;
  1801.  
  1802.     interface _IMSVidCtlEvents
  1803.     {
  1804.         CONST_VTBL struct _IMSVidCtlEventsVtbl *lpVtbl;
  1805.     };
  1806.  
  1807.     
  1808.  
  1809. #ifdef COBJMACROS
  1810.  
  1811.  
  1812. #define _IMSVidCtlEvents_QueryInterface(This,riid,ppvObject)    \
  1813.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1814.  
  1815. #define _IMSVidCtlEvents_AddRef(This)    \
  1816.     (This)->lpVtbl -> AddRef(This)
  1817.  
  1818. #define _IMSVidCtlEvents_Release(This)    \
  1819.     (This)->lpVtbl -> Release(This)
  1820.  
  1821.  
  1822. #define _IMSVidCtlEvents_GetTypeInfoCount(This,pctinfo)    \
  1823.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1824.  
  1825. #define _IMSVidCtlEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1826.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1827.  
  1828. #define _IMSVidCtlEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1829.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1830.  
  1831. #define _IMSVidCtlEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1832.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1833.  
  1834. #endif /* COBJMACROS */
  1835.  
  1836.  
  1837. #endif     /* C style interface */
  1838.  
  1839.  
  1840. #endif     /* ___IMSVidCtlEvents_DISPINTERFACE_DEFINED__ */
  1841.  
  1842.  
  1843. EXTERN_C const CLSID CLSID_MSVidAnalogTunerDevice;
  1844.  
  1845. #ifdef __cplusplus
  1846.  
  1847. class DECLSPEC_UUID("1C15D484-911D-11d2-B632-00C04F79498E")
  1848. MSVidAnalogTunerDevice;
  1849. #endif
  1850.  
  1851. EXTERN_C const CLSID CLSID_MSVidBDATunerDevice;
  1852.  
  1853. #ifdef __cplusplus
  1854.  
  1855. class DECLSPEC_UUID("A2E3074E-6C3D-11d3-B653-00C04F79498E")
  1856. MSVidBDATunerDevice;
  1857. #endif
  1858.  
  1859. EXTERN_C const CLSID CLSID_MSVidFilePlaybackDevice;
  1860.  
  1861. #ifdef __cplusplus
  1862.  
  1863. class DECLSPEC_UUID("37B0353C-A4C8-11d2-B634-00C04F79498E")
  1864. MSVidFilePlaybackDevice;
  1865. #endif
  1866.  
  1867. EXTERN_C const CLSID CLSID_MSVidWebDVD;
  1868.  
  1869. #ifdef __cplusplus
  1870.  
  1871. class DECLSPEC_UUID("011B3619-FE63-4814-8A84-15A194CE9CE3")
  1872. MSVidWebDVD;
  1873. #endif
  1874.  
  1875. EXTERN_C const CLSID CLSID_MSVidWebDVDAdm;
  1876.  
  1877. #ifdef __cplusplus
  1878.  
  1879. class DECLSPEC_UUID("FA7C375B-66A7-4280-879D-FD459C84BB02")
  1880. MSVidWebDVDAdm;
  1881. #endif
  1882.  
  1883. EXTERN_C const CLSID CLSID_MSVidVideoRenderer;
  1884.  
  1885. #ifdef __cplusplus
  1886.  
  1887. class DECLSPEC_UUID("37B03543-A4C8-11d2-B634-00C04F79498E")
  1888. MSVidVideoRenderer;
  1889. #endif
  1890.  
  1891. EXTERN_C const CLSID CLSID_MSVidAudioRenderer;
  1892.  
  1893. #ifdef __cplusplus
  1894.  
  1895. class DECLSPEC_UUID("37B03544-A4C8-11d2-B634-00C04F79498E")
  1896. MSVidAudioRenderer;
  1897. #endif
  1898.  
  1899. EXTERN_C const CLSID CLSID_MSVidDataServices;
  1900.  
  1901. #ifdef __cplusplus
  1902.  
  1903. class DECLSPEC_UUID("334125C0-77E5-11d3-B653-00C04F79498E")
  1904. MSVidDataServices;
  1905. #endif
  1906.  
  1907. EXTERN_C const CLSID CLSID_MSVidClosedCaptioning;
  1908.  
  1909. #ifdef __cplusplus
  1910.  
  1911. class DECLSPEC_UUID("7F9CB14D-48E4-43b6-9346-1AEBC39C64D3")
  1912. MSVidClosedCaptioning;
  1913. #endif
  1914.  
  1915. EXTERN_C const CLSID CLSID_MSVidTVEGSeg;
  1916.  
  1917. #ifdef __cplusplus
  1918.  
  1919. class DECLSPEC_UUID("1600F001-6666-4f66-B1E2-BF3C9FBB9BA6")
  1920. MSVidTVEGSeg;
  1921. #endif
  1922.  
  1923. EXTERN_C const CLSID CLSID_MSVidCAGSeg;
  1924.  
  1925. #ifdef __cplusplus
  1926.  
  1927. class DECLSPEC_UUID("1600F101-6666-4f66-B1E2-BF3C9FBB9BA6")
  1928. MSVidCAGSeg;
  1929. #endif
  1930.  
  1931. EXTERN_C const CLSID CLSID_MSVidCtl;
  1932.  
  1933. #ifdef __cplusplus
  1934.  
  1935. class DECLSPEC_UUID("B0EDF163-910A-11D2-B632-00C04F79498E")
  1936. MSVidCtl;
  1937. #endif
  1938.  
  1939. EXTERN_C const CLSID CLSID_MSVidInputDevices;
  1940.  
  1941. #ifdef __cplusplus
  1942.  
  1943. class DECLSPEC_UUID("C5702CCC-9B79-11d3-B654-00C04F79498E")
  1944. MSVidInputDevices;
  1945. #endif
  1946.  
  1947. EXTERN_C const CLSID CLSID_MSVidOutputDevices;
  1948.  
  1949. #ifdef __cplusplus
  1950.  
  1951. class DECLSPEC_UUID("C5702CCD-9B79-11d3-B654-00C04F79498E")
  1952. MSVidOutputDevices;
  1953. #endif
  1954.  
  1955. EXTERN_C const CLSID CLSID_MSVidVideoRendererDevices;
  1956.  
  1957. #ifdef __cplusplus
  1958.  
  1959. class DECLSPEC_UUID("C5702CCE-9B79-11d3-B654-00C04F79498E")
  1960. MSVidVideoRendererDevices;
  1961. #endif
  1962.  
  1963. EXTERN_C const CLSID CLSID_MSVidAudioRendererDevices;
  1964.  
  1965. #ifdef __cplusplus
  1966.  
  1967. class DECLSPEC_UUID("C5702CCF-9B79-11d3-B654-00C04F79498E")
  1968. MSVidAudioRendererDevices;
  1969. #endif
  1970.  
  1971. EXTERN_C const CLSID CLSID_MSVidFeatures;
  1972.  
  1973. #ifdef __cplusplus
  1974.  
  1975. class DECLSPEC_UUID("C5702CD0-9B79-11d3-B654-00C04F79498E")
  1976. MSVidFeatures;
  1977. #endif
  1978.  
  1979. EXTERN_C const CLSID CLSID_MSVidGenericComposite;
  1980.  
  1981. #ifdef __cplusplus
  1982.  
  1983. class DECLSPEC_UUID("2764BCE5-CC39-11D2-B639-00C04F79498E")
  1984. MSVidGenericComposite;
  1985. #endif
  1986.  
  1987. EXTERN_C const CLSID CLSID_MSVidAnalogCaptureToOverlayMixer;
  1988.  
  1989. #ifdef __cplusplus
  1990.  
  1991. class DECLSPEC_UUID("E18AF75A-08AF-11d3-B64A-00C04F79498E")
  1992. MSVidAnalogCaptureToOverlayMixer;
  1993. #endif
  1994.  
  1995. EXTERN_C const CLSID CLSID_MSVidAnalogCaptureToDataServices;
  1996.  
  1997. #ifdef __cplusplus
  1998.  
  1999. class DECLSPEC_UUID("C5702CD6-9B79-11d3-B654-00C04F79498E")
  2000. MSVidAnalogCaptureToDataServices;
  2001. #endif
  2002.  
  2003. EXTERN_C const CLSID CLSID_MSVidWebDVDToVideoRenderer;
  2004.  
  2005. #ifdef __cplusplus
  2006.  
  2007. class DECLSPEC_UUID("267db0b3-55e3-4902-949b-df8f5cec0191")
  2008. MSVidWebDVDToVideoRenderer;
  2009. #endif
  2010.  
  2011. EXTERN_C const CLSID CLSID_MSVidMPEG2DecoderToClosedCaptioning;
  2012.  
  2013. #ifdef __cplusplus
  2014.  
  2015. class DECLSPEC_UUID("6AD28EE1-5002-4e71-AAF7-BD077907B1A4")
  2016. MSVidMPEG2DecoderToClosedCaptioning;
  2017. #endif
  2018.  
  2019. EXTERN_C const CLSID CLSID_MSVidRenderFactory;
  2020.  
  2021. #ifdef __cplusplus
  2022.  
  2023. class DECLSPEC_UUID("11973C25-3529-40e4-9AB1-DDC164CBEF49")
  2024. MSVidRenderFactory;
  2025. #endif
  2026.  
  2027. EXTERN_C const CLSID CLSID_MSEventBinder;
  2028.  
  2029. #ifdef __cplusplus
  2030.  
  2031. class DECLSPEC_UUID("577FAA18-4518-445E-8F70-1473F8CF4BA4")
  2032. MSEventBinder;
  2033. #endif
  2034.  
  2035. EXTERN_C const CLSID CLSID_MSVidRect;
  2036.  
  2037. #ifdef __cplusplus
  2038.  
  2039. class DECLSPEC_UUID("CB4276E6-7D5F-4cf1-9727-629C5E6DB6AE")
  2040. MSVidRect;
  2041. #endif
  2042.  
  2043. EXTERN_C const CLSID CLSID_MSVidDevice;
  2044.  
  2045. #ifdef __cplusplus
  2046.  
  2047. class DECLSPEC_UUID("6E40476F-9C49-4c3e-8BB9-8587958EFF74")
  2048. MSVidDevice;
  2049. #endif
  2050.  
  2051. EXTERN_C const CLSID CLSID_MSVidInputDevice;
  2052.  
  2053. #ifdef __cplusplus
  2054.  
  2055. class DECLSPEC_UUID("AC1972F2-138A-4ca3-90DA-AE51112EDA28")
  2056. MSVidInputDevice;
  2057. #endif
  2058.  
  2059. EXTERN_C const CLSID CLSID_MSVidVideoInputDevice;
  2060.  
  2061. #ifdef __cplusplus
  2062.  
  2063. class DECLSPEC_UUID("95F4820B-BB3A-4e2d-BC64-5B817BC2C30E")
  2064. MSVidVideoInputDevice;
  2065. #endif
  2066.  
  2067. EXTERN_C const CLSID CLSID_MSVidVideoPlaybackDevice;
  2068.  
  2069. #ifdef __cplusplus
  2070.  
  2071. class DECLSPEC_UUID("1990D634-1A5E-4071-A34A-53AAFFCE9F36")
  2072. MSVidVideoPlaybackDevice;
  2073. #endif
  2074.  
  2075. EXTERN_C const CLSID CLSID_MSVidFeature;
  2076.  
  2077. #ifdef __cplusplus
  2078.  
  2079. class DECLSPEC_UUID("7748530B-C08A-47ea-B24C-BE8695FF405F")
  2080. MSVidFeature;
  2081. #endif
  2082.  
  2083. EXTERN_C const CLSID CLSID_MSVidOutput;
  2084.  
  2085. #ifdef __cplusplus
  2086.  
  2087. class DECLSPEC_UUID("87EB890D-03AD-4e9d-9866-376E5EC572ED")
  2088. MSVidOutput;
  2089. #endif
  2090. #endif /* __MSVidCtlLib_LIBRARY_DEFINED__ */
  2091.  
  2092. /* Additional Prototypes for ALL interfaces */
  2093.  
  2094. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
  2095. unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
  2096. unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
  2097. void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 
  2098.  
  2099. unsigned long             __RPC_USER  HWND_UserSize(     unsigned long *, unsigned long            , HWND * ); 
  2100. unsigned char * __RPC_USER  HWND_UserMarshal(  unsigned long *, unsigned char *, HWND * ); 
  2101. unsigned char * __RPC_USER  HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); 
  2102. void                      __RPC_USER  HWND_UserFree(     unsigned long *, HWND * ); 
  2103.  
  2104. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  2105. unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  2106. unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  2107. void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  2108.  
  2109. /* end of Additional Prototypes */
  2110.  
  2111. #ifdef __cplusplus
  2112. }
  2113. #endif
  2114.  
  2115. #endif
  2116.  
  2117.  
  2118.